.TH std::strncat 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::strncat \- std::strncat

.SH Synopsis
   Defined in header <cstring>
   char* strncat( char* dest, const char* src, std::size_t count );

   Appends a byte string pointed to by src to a byte string pointed to by dest. At most
   count characters are copied. The resulting byte string is null-terminated.

   The destination byte string must have enough space for the contents of both dest and
   src plus the terminating null character, except that the size of src is limited to
   count.

   The behavior is undefined if the strings overlap.

.SH Parameters

   dest  - pointer to the null-terminated byte string to append to
   src   - pointer to the null-terminated byte string to copy from
   count - maximum number of characters to copy

.SH Return value

   dest

.SH Notes

   Because std::strncat needs to seek to the end of dest on each call, it is
   inefficient to concatenate many strings into one using std::strncat.

.SH Example


// Run this code

 #include <cstdio>
 #include <cstring>

 int main()
 {
     char str[50] = "Hello ";
     const char str2[50] = "World!";
     std::strcat(str, str2);
     std::strncat(str, " Goodbye World!", 3); // may issue "truncated output" warning
     std::puts(str);
 }

.SH Output:

 Hello World! Go

.SH See also

   strcat concatenates two strings
          \fI(function)\fP
   strcpy copies one string to another
          \fI(function)\fP
   C documentation for
   strncat
